/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servlets;

import beans.Dao;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author juli
 */
public class CreateRoom  extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        /* En este proyecto; este servlet no recibe ni debe recibir nada por GET, 
         * asi que si se lleva a entrar al servelt
         * usando el metodo GET solamente redireccion al index.jsp
         */
        response.sendRedirect("manager.jsp");
    }
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession respuesta = request.getSession(true);
        PrintWriter out = response.getWriter();
        //Declaro e inicio las variables
        String name = request.getParameter("name");
        String place = request.getParameter("place");
        String c = request.getParameter("capacity");
        int capacity=Integer.parseInt(c);
        String caracteristics = request.getParameter("caracteristics");
        Dao d = new Dao();
       
        /*
         * Podemos hacer un monton de validaciones, por ejemplo:
         * Campos no vacios, sin espacios y/o caracteres especiales.
         */
        
        //campos vacios
        if(name.isEmpty() || place.isEmpty() || c.isEmpty()){
            respuesta.setAttribute("error", "Hay campos vacios");
            response.sendRedirect("createroom.jsp");

        } else {
            respuesta.removeAttribute("error");                   
                       try {
                            d.conectar();
                                if(d.isRoomRegistered(name)){
                                    respuesta.setAttribute("error", "This Meeting Room is registered");
                                    response.sendRedirect("createroom.jsp");

                                } else {
                                    
                                    //Llegado a este punto significa que todo esta correcto,
                                    //por lo tanto ingreso a la DB*/
                                    respuesta.setAttribute("error", null);
                                    d.registerRoom(name, place, capacity, caracteristics);
                                    response.sendRedirect("manager.jsp");
                                    d.desconectar();
                               }
                            
                            
                             
                       } catch (Exception e) { out.println("Ocurrio la sig exception: " +e); }
                        
                        
                        
                   

                    }                                            
    }
 
}